home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / aakint14.arc / SNDSERCH.PAS < prev    next >
Pascal/Delphi Source File  |  1986-08-24  |  2KB  |  38 lines

  1. (********************************************************************)
  2. (* THIS PROCEDURE WILL SEND A CHARACTER TO THE SERIAL PORT SPECIFIED*)
  3. (* INPUT        : Ser_Chan : INTEGER, Ch : CHAR                     *)
  4. (* INPUT/OUTPUT : NONE                                              *)
  5. (* OUTPUT       : Ok : BOOLEAN STATUS                               *)
  6. (* USES         : NO SIDE EFFECTS UNLESS DIAG MODE                  *)
  7. (* CALLS        : INTR                                              *)
  8. (* ERRORS       : Time_Out                                          *)
  9. (* GLOBAL VARS  : GLB SERIAL VARS                                   *)
  10. (* SUBJECT      : Serial COMM, SEND CHAR OUT SERIAL PORT            *)
  11. (* DOMAIN       : ARNO A. KARNER                      LEVEL : 001   *)
  12. (********************************************************************)
  13.  
  14. PROCEDURE Send_Char                       (     Ser_Chan : INTEGER ;
  15.                                                 CH       : CHAR ;
  16.                                             VAR OK       : BOOLEAN ) ;
  17.  
  18. VAR
  19.    Regs  : Reg ;
  20.  
  21. BEGIN (* PROC *)
  22.    Regs.AH := 1 ;
  23.    Regs.DX := Ser_Chan ;
  24.    Regs.AL := ORD ( CH ) ;
  25.    INTR ( 20 , Regs ) ;
  26.    IF Regs.AH AND 128 = 0
  27.    THEN OK := TRUE
  28.    ELSE OK := FALSE ;
  29.    IF Glb_Diag
  30.    THEN BEGIN (* DIAG MODE *)
  31.            CSF [ Ser_Chan ] :=  CSF [ Ser_Chan ] AND $9E00;
  32.            CSF [ Ser_Chan ] :=  CSF [ Ser_Chan ] OR ( Regs.AH SHL 8 ) ;
  33.            Comm_Counters [ Ser_Chan ].Chars_Transmited :=
  34.            Comm_Counters [ Ser_Chan ].Chars_Transmited + 1.0 ;
  35.         END;  (* DIAG MODE *)
  36. END ; (* PROC *)
  37.  
  38.